const BaseController = require("./BaseController");

const UserModel = require("../../model/UserModel");
const EncAndDec = require("../../untis/EecAndDec");


class UserController extends BaseController {

   async login() {
        if(this.req.session){//表示已经登录
            let userInfo = JSON.parse(this.req.session);
            return '301'
        }else{
            return this.display("login.html");
        }
     
    }

    /**
     * 前台用户注册页面
     * @returns 
     */
    async userReg(){

        return this.display("userReg.html");
    }

    /**
     * 
     * @returns 用户注册后端逻辑
     */
    async handleReg(){
        //又没判断用户是否为空？ 也没有判断，密码是否为空
        let name = this.req.post['name'];
        let password =this.req.post['password']; //EncAndDec.md5(this.req.post['password']);
        let sql = "select * from user where name=? and password=? limit 1";
        let userModel = new UserModel();
        let userList=await userModel.query(sql,[name,password]);
        //console.log(userList); 数组转成 json的字符串，反过来怎么处理 
        //写入到数据库 你们完善  TODO
        //JSON.parse 把字符串还原成数组或者 json格式
        let userInfo={};
        if(userList.length>0){//长度大于0 说明查询到数据了，说明用户密码都是正确的
            userInfo = userList[0];
            this.res.session = JSON.stringify(userInfo);
        }
        return JSON.stringify(userInfo);
    }

    async userList(){

        let user = new UserModel();

        try{
            let userList = await user.select();
            return '我是用户列表页面'//就是把对象转成json格式
    
        }catch(err){
            console.log(err);
        }
        

    }

}
module.exports = UserController;